package com.xb.report.service;



import com.github.pagehelper.Page;

import java.util.List;
import java.util.Map;

public interface IDataCountService {



    /**
     * 获取浏览量
     * @param startDate
     * @param endDate
     * @param planType
     */
    List<Map<String, Object>> getViewsList(String startDate, String endDate,String planType) throws Exception;

    /** 获取访问量 */
    List<Map<String, Object>> getVisitList(String startDate, String endDate) throws Exception;

    /**  结算量 */
    List<Map<String, Object>> getNumList(String startDate, String endDate,String planType) throws Exception;
    /** 扣量 */
    List<Map<String, Object>> getDedctionList(String startDate, String endDate,String planType) throws Exception;
    /** 应付金额 */
    List<Map<String, Object>> getPayList(String startDate, String endDate,String planType) throws Exception;
    /** 盈利 */
    List<Map<String, Object>> getProfitList(String startDate, String endDate,String planType) throws Exception;

    /** 站长结算top10 */
    List<Map<String, Object>> getUidTop10(String planid,String adsid,String advuid, String startDate, String endDate, String planType) throws Exception;

    /** 计划结算top10 */
    List<Map<String, Object>> getPlanTop10(String uid, String startDate, String endDate, String planType) throws Exception;

    /** 广告主结算top10 */
    List<Map<String, Object>> getAdvTop10(String zoneid, String startDate, String endDate, String planType) throws Exception;


    /** 计划统计_计划结算table **/
    Page<Map<String,Object>> getPlanListByPage(String planId, String planType, String sort, String startDate, String endDate, int pageNum, int pageSize);

    /** 计划统计页_浏览器分布 **/
    List<Map<String,Object>> getBrowserList(String startDate, String endDate) throws Exception;

    /** 计划统计页_投放广告top10 **/
    List<Map<String,Object>> getPlanAdvTop10(String planid, String uid, String zoneid, String startDate, String endDate, String planType) throws Exception;
    /** 计划统计页_广告位结算top10 **/
    List<Map<String,Object>> getZoneTop10(String planid, String uid, String adsid, String startDate, String endDate, String planType) throws Exception;

    /** 站长统计_站长结算table **/
    Page<Map<String,Object>> getUidListByPage(String uid, String planType, String sort, String startDate, String endDate, int pageNum, int pageSize);

    /** 站长统计_汇总 **/
    List<Map<String,Object>> getSumUidList(String uid, String planType, String startDate, String endDate);

    /** 计划统计_汇总 **/
    List<Map<String,Object>> getSumPlanList(String planId, String planType, String startDate, String endDate);


    /** 广告统计_广告结算table **/
    Page<Map<String,Object>> getAdsIdListByPage(String adsid, String planType, String sort, String startDate, String endDate, int pageNum, int pageSize);


    /** 广告统计_汇总 **/
    List<Map<String,Object>> getSumAdsIdList(String adsid, String planType, String startDate, String endDate);

    Page<Map<String,Object>> getZoneIdListByPage(String zoneid, String planType, String sort, String startDate, String endDate, int pageNum, int pageSize);


    List<Map<String,Object>> getSumZoneIdList(String zoneid, String planType, String startDate, String endDate);


    Page<Map<String,Object>> getAdvUidListByPage(String advuid, String planType, String sort, String startDate, String endDate, int pageNum, int pageSize);

    List<Map<String,Object>> getSumAdvUidList(String advuid, String planType, String startDate, String endDate);

    List<Map<String,Object>> getSiteTop10(String advuid, String startDate, String endDate, String planType);

    List<Map<String,Object>> getAreaListList(String startDate, String endDate) throws Exception;

    List<Map<String,Object>> getIspListList(String startDate, String endDate) throws Exception;

    List<Map<String,Object>> getPhoneBrandList(String startDate, String endDate);


    List<Map<String, Object>> getUidTopFromResult(String startDate, String endDate, String planType)
            throws Exception;

    List<Map<String, Object>> getPlanTopFromResult(String startDate, String endDate, String planType)
            throws Exception;

    List<Map<String, Object>> getAdvTopFromResult(String startDate, String endDate, String planType)
            throws Exception;

    List<Map<String, Object>> getPlanAdvTopFromResult(String startDate, String endDate, String planType)
            throws Exception;

    List<Map<String, Object>> getZoneTopFromResult(String startDate, String endDate, String planType)
            throws Exception;

    List<Map<String, Object>> getSiteTopFromResult(String startDate, String endDate, String planType);

    //============================钻取==============================
    List<Map<String,Object>> getPhoneBrandListByids(String planid, String uid, String adsid, String zoneid, String advuid, String startDate, String endDate);
    List<Map<String,Object>> getBrowserListByids(String planid, String uid, String adsid, String zoneid, String advuid, String startDate, String endDate);
    List<Map<String,Object>> getIspListByids(String planid, String uid, String adsid, String zoneid, String advuid, String startDate, String endDate);
    List<Map<String,Object>> getAreaListByids(String planid, String uid, String adsid, String zoneid, String advuid, String startDate, String endDate);






    //============================分析===================================
    List<Map<String,Object>> getDaBrowser(String startDate, String endDate, String type);
}
